#ifndef ILoader_H
#define ILoader_H

#include "../Config/Export.h"
#include "../Debug/Logger.h"
#include "GL/glew.h"

namespace epix {

template <class T>
class SHARED ILoader
{
    public:

        virtual ~ILoader() {}

        virtual T *loadFromFile(const char *filename)
        {
            Logger::log() << "Couldn't load " << filename << " the loader for this extention doesn't support importation" << "\n";
            return NULL;
        }

        virtual void saveToFile(const T *object, const char *filename)
        {
            Logger::log() << "Couldn't save object : " << object << " to " << filename << " the loader for this extention doesn't support exportation" << "\n";
        }

};

}

#endif
